Generally, stand-alone applications and service layers can manage their own registration, deregistration, and discovery procedures. This may be acceptable, for example, when machine-to-machine (M2M) applications and/or M2M service layers register with an M2M service layer at power up and do not need to search for a new M2M service layer during run time. However, when different applications need to depend upon each other's service layer registration requirements, a communication disconnect occurs. The issue may further be complicated when these applications are created by different developers or companies.
There are many instances when multiple applications need to register to the same service layer or are required to register to service layers located on the same network. For example, if a device running multiple applications has only one network interface, all applications will be required to register to the service layer(s) located on the same network. Current M2M service layer standards therefore do not provide guidance how M2M service layer registration, deregistration and discovery should be initiated and coordinated.
M2M applications and M2M service layers may belong to an active, registered session but may need to search and possibly discover other M2M service layers on the same or different networks. This may be due to external events including but not limited to loss of connectivity, location change, service browsing, existence of a new service provider and when new services are required. Coordinating these search and discovery functions is presently difficult to perform. Moreover, there is currently no safe technique for moving to other networks while maintaining the existing service layer registration.